<?php

declare(strict_types=1);

namespace App\DTO\Request;

use App\Annotation\AsyncAnnotation;
use Hyperf\ApiDocs\Annotation\ApiModelProperty;
use Hyperf\Contract\Arrayable;
use Hyperf\DTO\Annotation\Dto;
use Hyperf\DTO\Annotation\JSONField;
use Hyperf\DTO\Annotation\Validation\Between;
use Hyperf\DTO\Annotation\Validation\In;
use Hyperf\DTO\Annotation\Validation\Max;
use Hyperf\DTO\Annotation\Validation\Numeric;
use Hyperf\DTO\Annotation\Validation\Required;
use Hyperf\DTO\Annotation\Validation\Size;
use Hyperf\DTO\Type\PhpType;
use Hyperf\PhpAccessor\Annotation\HyperfData;
use PhpAccessor\Attribute\Data;
use Hyperf\DTO\Annotation\Validation\Str;
use Hyperf\DTO\Annotation\Validation\Integer;

//#[HyperfData]
//#[Data]
class UserQuery
{
    #[ApiModelProperty('数据版本号')]
    #[Str]
    #[Required]
    #[Max(20)]
    public string $data_version;

    #[ApiModelProperty('时间戳')]
    #[Integer]
    #[Required]
    public int $timestamp;

    #[ApiModelProperty('签名')]
    #[Str]
    #[Required]
    #[Size(32)]
    public string $sign;
}